package com.auto.survey.activity.monitoring.entity

import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room.PrimaryKey
import com.auto.survey.util.Helper


@Entity(
    tableName = "MonitoringPointCtrlObservation",
    foreignKeys = [
        ForeignKey(
            entity = MonitoringPoint::class,
            parentColumns = ["id"],
            childColumns = ["monitoringPointId"],
            onDelete = ForeignKey.CASCADE
        )
    ],
    indices = [Index(value = ["monitoringPointId"])]
)
data class MonitoringPointCtrlObservation(
    /**
     * 观测数据ID，主键，自增长
     */
    @PrimaryKey(autoGenerate = true) val id: Int = 0,
    /**
     * 测点ID，外键关联ATS_POINT表
     */
    var monitoringPointId: Int=-1,
    /**
     * 观测时间，格式：YYYY-MM-DD HH:MM:SS
     */
    var observationTime: String?,
    /**
     * 盘左水平角观测值（弧度）
     */
    var horizontalAngleL: Double?,
    /**
     * 盘左垂直角观测值（弧度）
     */
    var verticalAngleL: Double?,
    /**
     * 盘左斜距观测值（米）
     */
    var distanceL: Double?,
    /**
     * 盘右水平角观测值（弧度）
     */
    var horizontalAngleR: Double?,
    /**
     * 盘右垂直角观测值（弧度）
     */
    var verticalAngleR: Double?,
    /**
     * 盘右斜距观测值（米）
     */
    var distanceR: Double?,

    /**
     * 2C互差（弧度）
     */
    var measure2C: Double?,
    /**
     * 2D互差,单位（毫米）
     */
    var measure2D: Double?,


)
